MongoDB 连接和用户管理

1.连接 MongoDB

        在本机可以直接运行命令mongo进入到mongodb shell中

01

        如果mongodb监听端口并不是默认的27017,则在连接的时候需要加–port 选项,例如

02

        连接远程mongodb,需要加–host,例如

03

        如果设置了验证,则在连接的时候需要带用户名和密码

1
mongo -uusername -ppasswd #这个和MySQL挺像

2. MongoDB 用户管理

        首先mongodb用户是针对库来的,建立用户时要先进入到对应的库里

1
use test #切换到test库下

04

        创建用户

1
> db.createUser({user:"admin",pwd:"123456",roles:[{role:'dbOwner',db:'userdb'}]})

05

        use admin //切换到admin库

06

        db.system.users.find() //列出所有用户,需要切换到admin库

07

        show users //查看当前库下所有的用户

08

        db.dropUser(‘admin’) //删除用户

09

        关于用户角色,参考文档 Mongodb 3.0 配置身份验证db.createUser()说明

3.MongoDB 库管理

        db.version() // 查看版本

10

        use userdb // 如果库存在就切换,不存在就创建

11

        show dbs // 查看库,此时userdb并没有出现,这是因为该库是空的,还没有任何集合,只需要创建一个集合就能看到了

12

        db.createCollection(‘clo1’) // 创建集合clo1,在当前库下面创建

13

14

        db.dropDatabase() // 删除当前库,要想删除某个库,必须切换到那个库下

15

        db.stats() // 查看当前库的信息

16

        db.serverStatus() // 查看mongodb服务器的状态

17

4.MongoDB 创建集合

1
> db.createCollection("mycol", { capped : true, autoIndexID : true, size : 6142800, max : 10000 } )

        语法:

1
db.createCollection(name,options)
  • name就是集合的名字,options可选,用来配置集合的参数,参数如下

  • capped true/false (可选)如果为true,则启用封顶集合。封顶集合是固定大小的集合,当它达到其最大大小,会自动覆盖最早的条目。如果指定true,则也需要指定尺寸参数。

  • autoindexID true/false (可选)如果为true,自动创建索引_id字段的默认值是false。

  • size (可选)指定最大大小字节封顶集合。如果封顶如果是 true,那么你还需要指定这个字段。单位B

  • max (可选)指定封顶集合允许在文件的最大数量。

5.MongoDB 数据管理

        show collections //查看集合,或者使用show tables

18

        db.Account.insert({AccountID:1,UserName:”123”,password:”123456”}) //如果集合不存在,直接插入数据,则mongodb会自动创建集合

19

        db.Account.update({AccountID:1},{“$set”:{“Age”:20}}) //更新

20

        db.Account.find() //查看所有文档

21

        db.Account.find({AccountID:1}) //根据条件查询

22

        db.Account.remove({AccountID:1}) //根据条件删除

23

        db.Account.drop() //删除所有文档,即删除集合

24

        use dbname //先进入对应的库

        db.printCollectionStats() // 然后查看集合状态

25